[INFO] fetching crate cairn-p2p 0.2.0...
[INFO] testing cairn-p2p-0.2.0 against master#1f7f8ea0721a3b1eb73e6c6d25cccb371434b320 for pr-154065
[INFO] extracting crate cairn-p2p 0.2.0 into /workspace/builds/worker-1-tc1/source
[INFO] started tweaking crates.io crate cairn-p2p 0.2.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate cairn-p2p 0.2.0
[INFO] tweaked toml for crates.io crate cairn-p2p 0.2.0 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate cairn-p2p 0.2.0 on toolchain 1f7f8ea0721a3b1eb73e6c6d25cccb371434b320
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate cairn-p2p 0.2.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded curve25519-dalek-derive v0.1.1
[INFO] [stderr]   Downloaded tungstenite v0.24.0
[INFO] [stderr]   Downloaded libp2p-metrics v0.15.0
[INFO] [stderr]   Downloaded dtoa v1.0.11
[INFO] [stderr]   Downloaded quick-protobuf-codec v0.3.1
[INFO] [stderr]   Downloaded cipher v0.4.4
[INFO] [stderr]   Downloaded asynchronous-codec v0.7.0
[INFO] [stderr]   Downloaded ciborium-io v0.2.2
[INFO] [stderr]   Downloaded ciborium-ll v0.2.2
[INFO] [stderr]   Downloaded password-hash v0.5.0
[INFO] [stderr]   Downloaded resolv-conf v0.7.6
[INFO] [stderr]   Downloaded ciborium v0.2.2
[INFO] [stderr]   Downloaded prometheus-client v0.22.3
[INFO] [stderr]   Downloaded widestring v1.2.1
[INFO] [stderr]   Downloaded aes-gcm v0.10.3
[INFO] [stderr]   Downloaded hickory-resolver v0.24.4
[INFO] [stderr]   Downloaded libp2p-kad v0.46.2
[INFO] [stderr]   Downloaded aes v0.8.4
[INFO] [stderr]   Downloaded netlink-packet-route v0.17.1
[INFO] [stderr]   Downloaded webpki-roots v0.25.4
[INFO] [stderr]   Downloaded asn1-rs v0.6.2
[INFO] [stderr]   Downloaded x509-parser v0.16.0
[INFO] [stderr]   Downloaded curve25519-dalek v4.1.3
[INFO] [stderr]   Downloaded libp2p-swarm v0.45.1
[INFO] [stderr]   Downloaded ed25519-dalek v2.2.0
[INFO] [stderr]   Downloaded quick-protobuf v0.8.1
[INFO] [stderr]   Downloaded libp2p-mdns v0.46.0
[INFO] [stderr]   Downloaded windows-core v0.53.0
[INFO] [stderr]   Downloaded libp2p v0.54.1
[INFO] [stderr]   Downloaded qrcode v0.14.1
[INFO] [stderr]   Downloaded uuid v1.21.0
[INFO] [stderr]   Downloaded hickory-proto v0.24.4
[INFO] [stderr]   Downloaded argon2 v0.5.3
[INFO] [stderr]   Downloaded fiat-crypto v0.2.9
[INFO] [stderr]   Downloaded winreg v0.50.0
[INFO] [stderr]   Downloaded ipconfig v0.3.2
[INFO] [stderr]   Downloaded libp2p-dns v0.42.0
[INFO] [stderr]   Downloaded chacha20poly1305 v0.10.1
[INFO] [stderr]   Downloaded async-io v2.6.0
[INFO] [stderr]   Downloaded snow v0.9.6
[INFO] [stderr]   Downloaded rcgen v0.11.3
[INFO] [stderr]   Downloaded der-parser v9.0.0
[INFO] [stderr]   Downloaded attohttpc v0.24.1
[INFO] [stderr]   Downloaded pin-project v1.1.11
[INFO] [stderr]   Downloaded socket2 v0.6.2
[INFO] [stderr]   Downloaded libp2p-allow-block-list v0.4.0
[INFO] [stderr]   Downloaded libp2p-connection-limits v0.4.0
[INFO] [stderr]   Downloaded polyval v0.6.2
[INFO] [stderr]   Downloaded futures-lite v2.6.1
[INFO] [stderr]   Downloaded netlink-packet-core v0.7.0
[INFO] [stderr]   Downloaded rtnetlink v0.13.1
[INFO] [stderr]   Downloaded libc v0.2.182
[INFO] [stderr]   Downloaded yasna v0.5.2
[INFO] [stderr]   Downloaded igd-next v0.14.3
[INFO] [stderr]   Downloaded soketto v0.8.1
[INFO] [stderr]   Downloaded futures-timer v3.0.3
[INFO] [stderr]   Downloaded multistream-select v0.13.0
[INFO] [stderr]   Downloaded libp2p-core v0.42.0
[INFO] [stderr]   Downloaded yamux v0.13.9
[INFO] [stderr]   Downloaded multiaddr v0.18.2
[INFO] [stderr]   Downloaded futures v0.3.32
[INFO] [stderr]   Downloaded bs58 v0.5.1
[INFO] [stderr]   Downloaded ed25519 v2.2.3
[INFO] [stderr]   Downloaded multihash v0.19.3
[INFO] [stderr]   Downloaded libp2p-identity v0.2.13
[INFO] [stderr]   Downloaded spake2 v0.4.0
[INFO] [stderr]   Downloaded data-encoding v2.10.0
[INFO] [stderr]   Downloaded linked-hash-map v0.5.6
[INFO] [stderr]   Downloaded lru-cache v0.1.2
[INFO] [stderr]   Downloaded enum-as-inner v0.6.1
[INFO] [stderr]   Downloaded uint v0.9.5
[INFO] [stderr]   Downloaded ctr v0.9.2
[INFO] [stderr]   Downloaded ghash v0.5.1
[INFO] [stderr]   Downloaded chacha20 v0.9.1
[INFO] [stderr]   Downloaded poly1305 v0.8.0
[INFO] [stderr]   Downloaded libp2p-noise v0.45.0
[INFO] [stderr]   Downloaded libp2p-quic v0.11.1
[INFO] [stderr]   Downloaded libp2p-request-response v0.27.0
[INFO] [stderr]   Downloaded netlink-proto v0.11.5
[INFO] [stderr]   Downloaded netlink-sys v0.8.8
[INFO] [stderr]   Downloaded system-configuration v0.6.1
[INFO] [stderr]   Downloaded if-watch v3.2.1
[INFO] [stderr]   Downloaded pem v3.0.6
[INFO] [stderr]   Downloaded async-trait v0.1.89
[INFO] [stderr]   Downloaded futures-rustls v0.26.0
[INFO] [stderr]   Downloaded libp2p-websocket v0.44.0
[INFO] [stderr]   Downloaded yamux v0.12.1
[INFO] [stderr]   Downloaded const-str v0.4.3
[INFO] [stderr]   Downloaded pin-project-internal v1.1.11
[INFO] [stderr]   Downloaded tokio-tungstenite v0.24.0
[INFO] [stderr]   Downloaded inout v0.1.4
[INFO] [stderr]   Downloaded opaque-debug v0.3.1
[INFO] [stderr]   Downloaded universal-hash v0.5.1
[INFO] [stderr]   Downloaded if-addrs v0.10.2
[INFO] [stderr]   Downloaded libp2p-tls v0.5.0
[INFO] [stderr]   Downloaded libp2p-swarm-derive v0.35.0
[INFO] [stderr]   Downloaded void v1.0.2
[INFO] [stderr]   Downloaded data-encoding-macro v0.1.19
[INFO] [stderr]   Downloaded rw-stream-sink v0.4.0
[INFO] [stderr]   Downloaded unsigned-varint v0.8.0
[INFO] [stderr]   Downloaded x25519-dalek v2.0.1
[INFO] [stderr]   Downloaded netlink-packet-utils v0.5.2
[INFO] [stderr]   Downloaded windows-result v0.1.2
[INFO] [stderr]   Downloaded libp2p-tcp v0.42.0
[INFO] [stderr]   Downloaded spin v0.5.2
[INFO] [stderr]   Downloaded asn1-rs-derive v0.5.1
[INFO] [stderr]   Downloaded asn1-rs-impl v0.2.0
[INFO] [stderr]   Downloaded unsigned-varint v0.7.2
[INFO] [stderr]   Downloaded nohash-hasher v0.2.0
[INFO] [stderr]   Downloaded base256emoji v1.0.2
[INFO] [stderr]   Downloaded data-encoding-macro-internal v0.1.17
[INFO] [stderr]   Downloaded utf-8 v0.7.6
[INFO] [stderr]   Downloaded prometheus-client-derive-encode v0.4.2
[INFO] [stderr]   Downloaded futures-bounded v0.2.4
[INFO] [stderr]   Downloaded oid-registry v0.7.1
[INFO] [stderr]   Downloaded xmltree v0.10.3
[INFO] [stderr]   Downloaded libp2p-upnp v0.3.0
[INFO] [stderr]   Downloaded libp2p-yamux v0.46.0
[INFO] [stderr]   Downloaded match-lookup v0.1.2
[INFO] [stderr]   Downloaded multibase v0.9.2
[INFO] [stderr]   Downloaded aead v0.5.2
[INFO] [stderr]   Downloaded untrusted v0.7.1
[INFO] [stderr]   Downloaded rusticata-macros v4.1.0
[INFO] [stderr]   Downloaded base-x v0.2.11
[INFO] [stderr]   Downloaded serde_bytes v0.11.19
[INFO] [stderr]   Downloaded ring v0.16.20
[INFO] [stderr]   Downloaded windows v0.53.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1200eae6375c6a4fcb07df88f2b4e891b39788043b57df0a7692f7744ace5f2b
[INFO] running `Command { std: "docker" "start" "-a" "1200eae6375c6a4fcb07df88f2b4e891b39788043b57df0a7692f7744ace5f2b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1200eae6375c6a4fcb07df88f2b4e891b39788043b57df0a7692f7744ace5f2b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1200eae6375c6a4fcb07df88f2b4e891b39788043b57df0a7692f7744ace5f2b", kill_on_drop: false }`
[INFO] [stdout] 1200eae6375c6a4fcb07df88f2b4e891b39788043b57df0a7692f7744ace5f2b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e7bd4e70aec948cefb94c71de51c23843afbd013dc2a57bfc194ddf57486f1ec
[INFO] running `Command { std: "docker" "start" "-a" "e7bd4e70aec948cefb94c71de51c23843afbd013dc2a57bfc194ddf57486f1ec", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling zerocopy v0.8.40
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling writeable v0.6.2
[INFO] [stderr]    Compiling litemap v0.8.1
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]    Compiling itoa v1.0.17
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling icu_normalizer_data v2.1.1
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling data-encoding v2.10.0
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling unsigned-varint v0.8.0
[INFO] [stderr]    Compiling signature v2.2.0
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling ed25519 v2.2.3
[INFO] [stderr]    Compiling quick-protobuf v0.8.1
[INFO] [stderr]    Compiling const-str v0.4.3
[INFO] [stderr]    Compiling base-x v0.2.11
[INFO] [stderr]    Compiling bs58 v0.5.1
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling arrayref v0.3.9
[INFO] [stderr]    Compiling core2 v0.4.0
[INFO] [stderr]    Compiling unsigned-varint v0.7.2
[INFO] [stderr]    Compiling futures-timer v3.0.3
[INFO] [stderr]    Compiling web-time v1.1.0
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling untrusted v0.9.0
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling void v1.0.2
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]    Compiling multihash v0.19.3
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]    Compiling time-core v0.1.8
[INFO] [stderr]    Compiling num-conv v0.2.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling time-macros v0.2.27
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling tinyvec v1.10.0
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling cfg_aliases v0.2.1
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling tower-service v0.3.3
[INFO] [stderr]    Compiling inout v0.1.4
[INFO] [stderr]    Compiling try-lock v0.2.5
[INFO] [stderr]    Compiling simd-adler32 v0.3.8
[INFO] [stderr]    Compiling oid-registry v0.7.1
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling quinn-udp v0.5.14
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling httpdate v1.0.3
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]    Compiling crunchy v0.2.4
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling socket2 v0.6.2
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling nix v0.26.4
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling atomic-waker v1.1.2
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling universal-hash v0.5.1
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling opaque-debug v0.3.1
[INFO] [stderr]    Compiling spin v0.5.2
[INFO] [stderr]    Compiling untrusted v0.7.1
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling lru v0.12.5
[INFO] [stderr]    Compiling quinn v0.11.9
[INFO] [stderr]    Compiling pem v3.0.6
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling snow v0.9.6
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling rustc-hash v2.1.1
[INFO] [stderr]    Compiling linked-hash-map v0.5.6
[INFO] [stderr]    Compiling nohash-hasher v0.2.0
[INFO] [stderr]    Compiling lru-slab v0.1.2
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling fdeflate v0.3.7
[INFO] [stderr]    Compiling resolv-conf v0.7.6
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling lru-cache v0.1.2
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling pxfm v0.1.28
[INFO] [stderr]    Compiling polyval v0.6.2
[INFO] [stderr]    Compiling aead v0.5.2
[INFO] [stderr]    Compiling byteorder-lite v0.1.0
[INFO] [stderr]    Compiling base64ct v1.8.3
[INFO] [stderr]    Compiling iri-string v0.7.10
[INFO] [stderr]    Compiling png v0.18.1
[INFO] [stderr]    Compiling uint v0.9.5
[INFO] [stderr]    Compiling bytemuck v1.25.0
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling mime v0.3.17
[INFO] [stderr]    Compiling rusticata-macros v4.1.0
[INFO] [stderr]    Compiling webpki-roots v0.25.4
[INFO] [stderr]    Compiling utf-8 v0.7.6
[INFO] [stderr]    Compiling arrayvec v0.7.6
[INFO] [stderr]    Compiling password-hash v0.5.0
[INFO] [stderr]    Compiling ghash v0.5.1
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling blake2 v0.10.6
[INFO] [stderr]    Compiling poly1305 v0.8.0
[INFO] [stderr]    Compiling matchit v0.8.4
[INFO] [stderr]    Compiling uuid v1.21.0
[INFO] [stderr]    Compiling serde_bytes v0.11.19
[INFO] [stderr]    Compiling argon2 v0.5.3
[INFO] [stderr]    Compiling yasna v0.5.2
[INFO] [stderr]    Compiling moxcms v0.7.11
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling rcgen v0.11.3
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling zeroize_derive v1.4.3
[INFO] [stderr]    Compiling zerocopy-derive v0.8.40
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling pin-project-internal v1.1.11
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling match-lookup v0.1.2
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling data-encoding-macro-internal v0.1.17
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling base256emoji v1.0.2
[INFO] [stderr]    Compiling data-encoding-macro v0.1.19
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling asn1-rs-derive v0.5.1
[INFO] [stderr]    Compiling multibase v0.9.2
[INFO] [stderr]    Compiling libp2p-swarm-derive v0.35.0
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling asn1-rs-impl v0.2.0
[INFO] [stderr]    Compiling pin-project v1.1.11
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling enum-as-inner v0.6.1
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling rustls-webpki v0.101.7
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling rustls-webpki v0.103.9
[INFO] [stderr]    Compiling netlink-packet-utils v0.5.2
[INFO] [stderr]    Compiling asn1-rs v0.6.2
[INFO] [stderr]    Compiling webpki-roots v1.0.6
[INFO] [stderr]    Compiling netlink-packet-core v0.7.0
[INFO] [stderr]    Compiling netlink-packet-route v0.17.1
[INFO] [stderr]    Compiling ctr v0.9.2
[INFO] [stderr]    Compiling aes v0.8.4
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling chacha20 v0.9.1
[INFO] [stderr]    Compiling axum-core v0.5.6
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling ed25519-dalek v2.2.0
[INFO] [stderr]    Compiling x25519-dalek v2.0.1
[INFO] [stderr]    Compiling chacha20poly1305 v0.10.1
[INFO] [stderr]    Compiling aes-gcm v0.10.3
[INFO] [stderr]    Compiling spake2 v0.4.0
[INFO] [stderr]    Compiling der-parser v9.0.0
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling x509-parser v0.16.0
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling asynchronous-codec v0.7.0
[INFO] [stderr]    Compiling futures-bounded v0.2.4
[INFO] [stderr]    Compiling quick-protobuf-codec v0.3.1
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling rw-stream-sink v0.4.0
[INFO] [stderr]    Compiling multistream-select v0.13.0
[INFO] [stderr]    Compiling image v0.25.9
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling netlink-sys v0.8.8
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling qrcode v0.14.1
[INFO] [stderr]    Compiling netlink-proto v0.11.5
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling rtnetlink v0.13.1
[INFO] [stderr]    Compiling futures-rustls v0.26.0
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling quinn-proto v0.11.13
[INFO] [stderr]    Compiling yamux v0.13.9
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling libp2p-identity v0.2.13
[INFO] [stderr]    Compiling hickory-proto v0.24.4
[INFO] [stderr]    Compiling yamux v0.12.1
[INFO] [stderr]    Compiling soketto v0.8.1
[INFO] [stderr]    Compiling tungstenite v0.24.0
[INFO] [stderr]    Compiling if-watch v3.2.1
[INFO] [stderr]    Compiling multiaddr v0.18.2
[INFO] [stderr]    Compiling tokio-tungstenite v0.24.0
[INFO] [stderr]    Compiling libp2p-core v0.42.0
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling axum v0.8.8
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling libp2p-swarm v0.45.1
[INFO] [stderr]    Compiling libp2p-tls v0.5.0
[INFO] [stderr]    Compiling libp2p-noise v0.45.0
[INFO] [stderr]    Compiling libp2p-yamux v0.46.0
[INFO] [stderr]    Compiling libp2p-websocket v0.44.0
[INFO] [stderr]    Compiling libp2p-tcp v0.42.0
[INFO] [stderr]    Compiling hickory-resolver v0.24.4
[INFO] [stderr]    Compiling libp2p-kad v0.46.2
[INFO] [stderr]    Compiling libp2p-request-response v0.27.0
[INFO] [stderr]    Compiling libp2p-mdns v0.46.0
[INFO] [stderr]    Compiling libp2p-connection-limits v0.4.0
[INFO] [stderr]    Compiling libp2p-allow-block-list v0.4.0
[INFO] [stderr]    Compiling libp2p-quic v0.11.1
[INFO] [stderr]    Compiling libp2p-dns v0.42.0
[INFO] [stderr]    Compiling libp2p v0.54.1
[INFO] [stderr]    Compiling cairn-p2p v0.2.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 44s
[INFO] running `Command { std: "docker" "inspect" "e7bd4e70aec948cefb94c71de51c23843afbd013dc2a57bfc194ddf57486f1ec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e7bd4e70aec948cefb94c71de51c23843afbd013dc2a57bfc194ddf57486f1ec", kill_on_drop: false }`
[INFO] [stdout] e7bd4e70aec948cefb94c71de51c23843afbd013dc2a57bfc194ddf57486f1ec
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 683b775b7101216e82fedade4deb7a1e154e893639ce7455c0be6f3deebee5b3
[INFO] running `Command { std: "docker" "start" "-a" "683b775b7101216e82fedade4deb7a1e154e893639ce7455c0be6f3deebee5b3", kill_on_drop: false }`
[INFO] [stderr]    Compiling cairn-p2p v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `StorageBackend`
[INFO] [stdout]  --> tests/integration/pairing.rs:8:39
[INFO] [stdout]   |
[INFO] [stdout] 8 | use cairn_p2p::{ApiNode, CairnConfig, StorageBackend};
[INFO] [stdout]   |                                       ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 47.40s
[INFO] running `Command { std: "docker" "inspect" "683b775b7101216e82fedade4deb7a1e154e893639ce7455c0be6f3deebee5b3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "683b775b7101216e82fedade4deb7a1e154e893639ce7455c0be6f3deebee5b3", kill_on_drop: false }`
[INFO] [stdout] 683b775b7101216e82fedade4deb7a1e154e893639ce7455c0be6f3deebee5b3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 1e7c9954fa21779d055f02f05951ee9ad4eee98f3ec2bbfc2d357027a0a9d3dc
[INFO] running `Command { std: "docker" "start" "-a" "1e7c9954fa21779d055f02f05951ee9ad4eee98f3ec2bbfc2d357027a0a9d3dc", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `StorageBackend`
[INFO] [stderr]  --> tests/integration/pairing.rs:8:39
[INFO] [stderr]   |
[INFO] [stderr] 8 | use cairn_p2p::{ApiNode, CairnConfig, StorageBackend};
[INFO] [stderr]   |                                       ^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `cairn-p2p` (test "integration") generated 1 warning (run `cargo fix --test "integration" -p cairn-p2p` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.85s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/cairn_p2p-c3351d218a6f93c0)
[INFO] [stdout] 
[INFO] [stdout] running 724 tests
[INFO] [stdout] test api::events::tests::all_seven_connection_states ... ok
[INFO] [stdout] test api::events::tests::connection_state_display ... ok
[INFO] [stdout] test api::events::tests::network_info_default ... ok
[INFO] [stdout] test api::events::tests::event_display ... ok
[INFO] [stdout] test api::node::tests::connect_with_failing_transport ... ok
[INFO] [stdout] test api::node::tests::dispatch_incoming_records_heartbeat_activity ... ok
[INFO] [stdout] test api::node::tests::api_node_creation ... ok
[INFO] [stdout] test api::node::tests::dispatch_incoming_invokes_message_callbacks ... ok
[INFO] [stdout] test api::node::tests::channel_lifecycle ... ok
[INFO] [stdout] test api::events::tests::connection_state_serde_roundtrip ... ok
[INFO] [stdout] test api::node::tests::network_info_default ... ok
[INFO] [stdout] test api::node::tests::node_has_identity ... ok
[INFO] [stdout] test api::node::tests::node_debug_format ... ok
[INFO] [stdout] test api::node::tests::connect_wires_ratchet ... ok
[INFO] [stdout] test api::node::tests::node_has_trust_store ... ok
[INFO] [stdout] test api::node::tests::node_has_local_identity ... ok
[INFO] [stdout] test api::node::tests::dispatch_incoming_invokes_custom_handler ... ok
[INFO] [stdout] test api::node::tests::connect_wires_state_machine ... ok
[INFO] [stdout] test api::node::tests::pair_enter_pin_invalid ... ok
[INFO] [stdout] test api::node::tests::pair_from_link_invalid ... ok
[INFO] [stdout] test api::node::tests::multiple_channels ... ok
[INFO] [stdout] test api::node::tests::envelope_has_session_id ... ok
[INFO] [stdout] test api::node::tests::on_message_stores_callback ... ok
[INFO] [stdout] test api::node::tests::pair_generate_link_real ... ok
[INFO] [stdout] test api::node::tests::pair_scan_qr_invalid ... ok
[INFO] [stdout] test api::node::tests::pair_generate_qr_valid ... ok
[INFO] [stdout] test api::node::tests::dispatch_incoming_decrypts_data_message ... ok
[INFO] [stdout] test api::node::tests::pair_generate_pin_formatted ... ok
[INFO] [stdout] test api::node::tests::connect_default_simulated ... ok
[INFO] [stdout] test api::node::tests::custom_msg_invalid ... ok
[INFO] [stdout] test api::node::tests::custom_msg_valid ... ok
[INFO] [stdout] test api::node::tests::connect_creates_session ... ok
[INFO] [stdout] test api::node::tests::on_message_cb ... ok
[INFO] [stdout] test api::node::tests::on_state_change_cb ... ok
[INFO] [stdout] test api::node::tests::close_invokes_state_change_callbacks ... ok
[INFO] [stdout] test api::node::tests::on_state_change_stores_callback ... ok
[INFO] [stdout] test api::node::tests::open_channel_sends_channel_init_envelope ... ok
[INFO] [stdout] test api::node::tests::ratchet_can_encrypt_after_connect ... ok
[INFO] [stdout] test api::node::tests::recv_event_connect ... ok
[INFO] [stdout] test api::node::tests::drain_message_queue_returns_payloads ... ok
[INFO] [stdout] test api::node::tests::send_without_ratchet_stores_plaintext ... ok
[INFO] [stdout] test api::node::tests::session_open_channel_empty_name ... ok
[INFO] [stdout] test api::node::tests::set_nat_type ... ok
[INFO] [stdout] test api::node::tests::session_close_transitions_sm ... ok
[INFO] [stdout] test config::tests::base64_decode_empty ... ok
[INFO] [stdout] test config::tests::base64_decode_roundtrip ... ok
[INFO] [stdout] test config::tests::builder_defaults_validate ... ok
[INFO] [stdout] test api::node::tests::session_send_open ... ok
[INFO] [stdout] test config::tests::builder_invalid_backoff_factor ... ok
[INFO] [stdout] test api::node::tests::send_produces_encrypted_envelope ... ok
[INFO] [stdout] test api::node::tests::session_close ... ok
[INFO] [stdout] test config::tests::builder_server_mode ... ok
[INFO] [stdout] test config::tests::builder_with_manifest_config ... ok
[INFO] [stdout] test config::tests::create_returns_node ... ok
[INFO] [stdout] test api::node::tests::session_send_closed ... ok
[INFO] [stdout] test api::node::tests::session_open_channel_reserved ... ok
[INFO] [stdout] test api::node::tests::unpair_removes_session ... ok
[INFO] [stdout] test config::tests::builder_overrides_stun_and_turn ... ok
[INFO] [stdout] test config::tests::create_server_with_config_forces_server_mode ... ok
[INFO] [stdout] test config::tests::create_with_config_validates ... ok
[INFO] [stdout] test config::tests::default_config_has_stun_servers ... ok
[INFO] [stdout] test config::tests::default_config_is_not_server_mode ... ok
[INFO] [stdout] test config::tests::default_reconnection_policy_values ... ok
[INFO] [stdout] test config::tests::tier0_is_default ... ok
[INFO] [stdout] test config::tests::default_server_config ... ok
[INFO] [stdout] test config::tests::create_server_returns_server_node ... ok
[INFO] [stdout] test config::tests::tier2_has_trackers_and_bootstrap ... ok
[INFO] [stdout] test config::tests::validation_empty_stun_no_turn_fails ... ok
[INFO] [stdout] test config::tests::tier3_has_mesh_settings ... ok
[INFO] [stdout] test config::tests::default_config_has_transport_order ... ok
[INFO] [stdout] test config::tests::tier1_has_signaling_and_turn ... ok
[INFO] [stdout] test config::tests::validation_manifest_disabled_http_ok ... ok
[INFO] [stdout] test config::tests::validation_empty_stun_with_turn_ok ... ok
[INFO] [stdout] test config::tests::validation_manifest_http_fails ... ok
[INFO] [stdout] test config::tests::validation_max_hops_eleven_fails ... ok
[INFO] [stdout] test config::tests::validation_max_hops_zero_fails ... ok
[INFO] [stdout] test crypto::aead::tests::aes_gcm_tampered_ciphertext_rejected ... ok
[INFO] [stdout] test config::tests::verify_manifest_rejects_bad_signature ... ok
[INFO] [stdout] test config::tests::verify_manifest_rejects_invalid_json ... ok
[INFO] [stdout] test crypto::aead::tests::chacha20_encrypt_decrypt_roundtrip ... ok
[INFO] [stdout] test crypto::aead::tests::aes_gcm_wrong_aad_rejected ... ok
[INFO] [stdout] test crypto::aead::tests::ciphertext_includes_tag ... ok
[INFO] [stdout] test config::tests::default_config_validates ... ok
[INFO] [stdout] test crypto::aead::tests::chacha20_tampered_ciphertext_rejected ... ok
[INFO] [stdout] test crypto::aead::tests::chacha20_wrong_aad_rejected ... ok
[INFO] [stdout] test crypto::aead::tests::empty_plaintext_roundtrip ... ok
[INFO] [stdout] test crypto::aead::tests::empty_aad_roundtrip ... ok
[INFO] [stdout] test crypto::aead::tests::wrong_key_rejected ... ok
[INFO] [stdout] test config::tests::default_mesh_settings ... ok
[INFO] [stdout] test crypto::aead::tests::aes_gcm_encrypt_decrypt_roundtrip ... ok
[INFO] [stdout] test crypto::exchange::tests::hkdf_can_produce_various_output_lengths ... ok
[INFO] [stdout] test crypto::exchange::tests::all_domain_separation_constants_are_unique ... ok
[INFO] [stdout] test api::node::tests::session_has_session_id_after_connect ... ok
[INFO] [stdout] test crypto::aead::tests::wrong_nonce_rejected ... ok
[INFO] [stdout] test crypto::exchange::tests::hkdf_domain_separation_produces_different_keys ... ok
[INFO] [stdout] test crypto::exchange::tests::hkdf_with_salt_differs_from_without ... ok
[INFO] [stdout] test crypto::exchange::tests::hkdf_rejects_too_long_output ... ok
[INFO] [stdout] test crypto::identity::tests::different_keys_produce_different_peer_ids ... ok
[INFO] [stdout] test crypto::identity::tests::generate_and_roundtrip_keypair ... ok
[INFO] [stdout] test crypto::exchange::tests::ephemeral_keypair_works ... ok
[INFO] [stdout] test crypto::identity::tests::peer_id_from_public_key_matches ... ok
[INFO] [stdout] test crypto::exchange::tests::hkdf_produces_deterministic_output ... ok
[INFO] [stdout] test crypto::exchange::tests::x25519_shared_secret_matches_both_sides ... ok
[INFO] [stdout] test crypto::identity::tests::signature_is_deterministic ... ok
[INFO] [stdout] test crypto::exchange::tests::different_peers_produce_different_shared_secrets ... ok
[INFO] [stdout] test config::tests::validation_backoff_factor_le_one_fails ... ok
[INFO] [stdout] test crypto::identity::tests::peer_id_is_deterministic ... ok
[INFO] [stdout] test api::node::tests::session_open_channel ... ok
[INFO] [stdout] test api::node::tests::session_debug ... ok
[INFO] [stdout] test api::node::tests::send_queues_when_disconnected ... ok
[INFO] [stdout] test crypto::identity::tests::sign_and_verify ... ok
[INFO] [stdout] test crypto::identity::tests::verify_with_wrong_key_fails ... ok
[INFO] [stdout] test crypto::identity::tests::verify_with_wrong_message_fails ... ok
[INFO] [stdout] test crypto::identity::tests::verify_signature_standalone ... ok
[INFO] [stdout] test api::node::tests::unpair_removes_trust ... ok
[INFO] [stdout] test api::node::tests::pair_enter_pin_roundtrip ... ok
[INFO] [stdout] test crypto::keystore::tests::hex_encode_works ... ok
[INFO] [stdout] test crypto::keystore::tests::inmemory_data_lost_on_drop ... ok
[INFO] [stdout] test crypto::keystore::tests::inmemory_delete ... ok
[INFO] [stdout] test crypto::keystore::tests::inmemory_delete_nonexistent_is_ok ... ok
[INFO] [stdout] test crypto::keystore::tests::inmemory_empty_key_id_rejected ... ok
[INFO] [stdout] test crypto::keystore::tests::inmemory_exists ... ok
[INFO] [stdout] test crypto::keystore::tests::inmemory_is_send_sync ... ok
[INFO] [stdout] test crypto::keystore::tests::inmemory_overwrite ... ok
[INFO] [stdout] test crypto::keystore::tests::inmemory_retrieve_nonexistent ... ok
[INFO] [stdout] test api::node::tests::pair_scan_qr_roundtrip ... ok
[INFO] [stdout] test api::node::tests::pairing_emits_event ... ok
[INFO] [stdout] test api::node::tests::pair_from_link_roundtrip ... ok
[INFO] [stdout] test crypto::noise::tests::different_transcripts_produce_different_sas ... ok
[INFO] [stdout] test crypto::noise::tests::emoji_sas_entries_are_from_table ... ok
[INFO] [stdout] test crypto::noise::tests::emoji_sas_is_deterministic ... ok
[INFO] [stdout] test crypto::noise::tests::emoji_sas_matches_between_peers ... ok
[INFO] [stdout] test crypto::noise::tests::full_handshake_produces_matching_session_keys ... ok
[INFO] [stdout] test crypto::keystore::tests::inmemory_store_and_retrieve ... ok
[INFO] [stdout] test crypto::noise::tests::emoji_sas_returns_4_entries ... ok
[INFO] [stdout] test crypto::noise::tests::handshake_reveals_remote_static_keys ... ok
[INFO] [stdout] test crypto::noise::tests::mismatched_pake_secrets_fail ... ok
[INFO] [stdout] test crypto::noise::tests::different_handshakes_produce_different_session_keys ... ok
[INFO] [stdout] test crypto::noise::tests::msg1_is_32_bytes ... ok
[INFO] [stdout] test crypto::noise::tests::handshake_transcript_hashes_match ... ok
[INFO] [stdout] test crypto::noise::tests::msg1_wrong_length_rejected ... ok
[INFO] [stdout] test crypto::noise::tests::handshake_with_pake_secret ... ok
[INFO] [stdout] test crypto::noise::tests::msg3_too_short_rejected ... ok
[INFO] [stdout] test crypto::noise::tests::numeric_sas_format ... ok
[INFO] [stdout] test crypto::noise::tests::numeric_sas_is_deterministic ... ok
[INFO] [stdout] test crypto::noise::tests::msg2_too_short_rejected ... ok
[INFO] [stdout] test crypto::noise::tests::out_of_order_step_rejected ... ok
[INFO] [stdout] test crypto::noise::tests::sas_derivable_from_handshake ... ok
[INFO] [stdout] test crypto::noise::tests::step_after_complete_rejected ... ok
[INFO] [stdout] test crypto::noise::tests::tampered_msg2_rejected ... ok
[INFO] [stdout] test crypto::noise::tests::pake_secret_changes_session_key ... ok
[INFO] [stdout] test crypto::noise::tests::responder_rejects_no_input ... ok
[INFO] [stdout] test crypto::noise::tests::tampered_msg3_rejected ... ok
[INFO] [stdout] test crypto::ratchet::tests::alice_sends_bob_receives ... ok
[INFO] [stdout] test crypto::ratchet::tests::bidirectional_messages ... ok
[INFO] [stdout] test crypto::ratchet::tests::import_state_invalid_data ... ok
[INFO] [stdout] test crypto::ratchet::tests::dh_public_key_changes_on_ratchet ... ok
[INFO] [stdout] test crypto::ratchet::tests::max_skip_threshold_respected ... ok
[INFO] [stdout] test crypto::ratchet::tests::empty_plaintext ... ok
[INFO] [stdout] test crypto::ratchet::tests::message_numbers_increment ... ok
[INFO] [stdout] test crypto::ratchet::tests::out_of_order_messages ... ok
[INFO] [stdout] test crypto::ratchet::tests::multiple_messages_one_direction ... ok
[INFO] [stdout] test crypto::ratchet::tests::state_export_import_roundtrip ... ok
[INFO] [stdout] test crypto::ratchet::tests::chacha20_cipher_suite ... ok
[INFO] [stdout] test crypto::ratchet::tests::tampered_ciphertext_rejected ... ok
[INFO] [stdout] test discovery::backends::tests::bittorrent_info_hash_is_20_bytes ... ok
[INFO] [stdout] test discovery::backends::tests::bittorrent_min_reannounce_is_15_min ... ok
[INFO] [stdout] test discovery::backends::tests::bittorrent_publish_and_query ... ok
[INFO] [stdout] test discovery::backends::tests::bittorrent_reannounce_interval_enforced ... ok
[INFO] [stdout] test discovery::backends::tests::bittorrent_stop_clears_records ... ok
[INFO] [stdout] test discovery::backends::tests::all_backends_have_correct_names ... ok
[INFO] [stdout] test discovery::backends::tests::coordinator_from_swarm_publish_and_query ... ok
[INFO] [stdout] test discovery::backends::tests::coordinator_publish_all ... ok
[INFO] [stdout] test discovery::backends::tests::coordinator_query_first_returns_none_when_empty ... ok
[INFO] [stdout] test discovery::backends::tests::coordinator_query_first_finds_in_first_backend ... ok
[INFO] [stdout] test discovery::backends::tests::coordinator_query_first_falls_through_to_second ... ok
[INFO] [stdout] test crypto::ratchet::tests::multiple_ratchet_turns ... ok
[INFO] [stdout] test discovery::backends::tests::kademlia_from_swarm_stop_shuts_down ... ok
[INFO] [stdout] test discovery::backends::tests::kademlia_query_not_found ... ok
[INFO] [stdout] test discovery::backends::tests::coordinator_stop_all ... ok
[INFO] [stdout] test discovery::backends::tests::kademlia_stop_shuts_down ... ok
[INFO] [stdout] test discovery::backends::tests::mdns_from_swarm_publish_and_query ... ok
[INFO] [stdout] test discovery::backends::tests::mdns_from_swarm_query_not_found ... ok
[INFO] [stdout] test discovery::backends::tests::mdns_from_swarm_stop_clears_records ... ok
[INFO] [stdout] test discovery::backends::tests::mdns_publish_and_query ... ok
[INFO] [stdout] test discovery::backends::tests::mdns_stop_clears_records ... ok
[INFO] [stdout] test discovery::backends::tests::signaling_no_auth ... ok
[INFO] [stdout] test discovery::backends::tests::mdns_query_not_found ... ok
[INFO] [stdout] test discovery::backends::tests::kademlia_publish_and_query ... ok
[INFO] [stdout] test discovery::rendezvous::tests::active_ids_dual_near_epoch_boundary ... ok
[INFO] [stdout] test discovery::rendezvous::tests::active_ids_includes_current_epoch_id ... ok
[INFO] [stdout] test discovery::rendezvous::tests::active_ids_single_outside_overlap ... ok
[INFO] [stdout] test discovery::backends::tests::kademlia_from_swarm_publish_and_query ... ok
[INFO] [stdout] test discovery::rendezvous::tests::compute_epoch_advances_with_time ... ok
[INFO] [stdout] test discovery::rendezvous::tests::both_peers_compute_same_rendezvous_id ... ok
[INFO] [stdout] test discovery::rendezvous::tests::compute_epoch_different_secrets_different_offsets ... ok
[INFO] [stdout] test discovery::backends::tests::signaling_stop_clears_records ... ok
[INFO] [stdout] test discovery::rendezvous::tests::compute_epoch_zero_interval_rejected ... ok
[INFO] [stdout] test discovery::rendezvous::tests::derive_pairing_rendezvous_different_nonces_differ ... ok
[INFO] [stdout] test discovery::rendezvous::tests::compute_epoch_is_consistent ... ok
[INFO] [stdout] test discovery::rendezvous::tests::derive_pairing_rendezvous_id_is_deterministic ... ok
[INFO] [stdout] test discovery::rendezvous::tests::derive_rendezvous_id_different_epochs_differ ... ok
[INFO] [stdout] test discovery::backends::tests::signaling_publish_and_query ... ok
[INFO] [stdout] test discovery::rendezvous::tests::derive_pairing_rendezvous_differs_from_standard ... ok
[INFO] [stdout] test discovery::rendezvous::tests::rotation_config_default_values ... ok
[INFO] [stdout] test error::tests::behavior_authentication_failed ... ok
[INFO] [stdout] test discovery::rendezvous::tests::derive_rendezvous_id_is_deterministic ... ok
[INFO] [stdout] test error::tests::behavior_pairing_expired ... ok
[INFO] [stdout] test error::tests::behavior_pairing_rejected ... ok
[INFO] [stdout] test error::tests::behavior_peer_unreachable ... ok
[INFO] [stdout] test error::tests::behavior_session_expired ... ok
[INFO] [stdout] test error::tests::behavior_transport_exhausted ... ok
[INFO] [stdout] test error::tests::behavior_version_mismatch ... ok
[INFO] [stdout] test error::tests::cairn_error_implements_std_error ... ok
[INFO] [stdout] test error::tests::display_authentication_failed ... ok
[INFO] [stdout] test discovery::rendezvous::tests::rendezvous_id_to_hex ... ok
[INFO] [stdout] test error::tests::display_pairing_expired ... ok
[INFO] [stdout] test error::tests::behavior_mesh_route_not_found ... ok
[INFO] [stdout] test error::tests::display_mesh_route_not_found ... ok
[INFO] [stdout] test error::tests::display_pairing_rejected ... ok
[INFO] [stdout] test error::tests::display_session_expired ... ok
[INFO] [stdout] test error::tests::display_version_mismatch ... ok
[INFO] [stdout] test error::tests::display_transport_exhausted ... ok
[INFO] [stdout] test error::tests::existing_variants_preserved ... ok
[INFO] [stdout] test error::tests::helper_auth_failed ... ok
[INFO] [stdout] test error::tests::helper_mesh_route_not_found_has_suggestion ... ok
[INFO] [stdout] test error::tests::helper_pairing_expired ... ok
[INFO] [stdout] test error::tests::helper_pairing_rejected ... ok
[INFO] [stdout] test error::tests::helper_peer_unreachable ... ok
[INFO] [stdout] test error::tests::helper_session_expired ... ok
[INFO] [stdout] test error::tests::helper_transport_exhausted_generic ... ok
[INFO] [stdout] test error::tests::display_peer_unreachable ... ok
[INFO] [stdout] test error::tests::helper_version_mismatch_has_suggestion ... ok
[INFO] [stdout] test error::tests::helper_transport_exhausted_symmetric_nat ... ok
[INFO] [stdout] test identity::peer_id::tests::debug_contains_base58 ... ok
[INFO] [stdout] test identity::peer_id::tests::different_keys_produce_different_peer_ids ... ok
[INFO] [stdout] test identity::peer_id::tests::display_and_from_str_roundtrip ... ok
[INFO] [stdout] test identity::peer_id::tests::from_bytes_rejects_wrong_length_byte ... ok
[INFO] [stdout] test identity::peer_id::tests::from_bytes_rejects_wrong_prefix ... ok
[INFO] [stdout] test identity::peer_id::tests::from_bytes_roundtrip ... ok
[INFO] [stdout] test identity::peer_id::tests::from_public_key_is_deterministic ... ok
[INFO] [stdout] test identity::peer_id::tests::from_public_key_produces_34_bytes ... ok
[INFO] [stdout] test identity::peer_id::tests::from_str_rejects_invalid_base58 ... ok
[INFO] [stdout] test identity::peer_id::tests::hash_works_in_hashmap ... ok
[INFO] [stdout] test identity::peer_id::tests::serde_json_roundtrip ... ok
[INFO] [stdout] test identity::tests::debug_does_not_leak_private_key ... ok
[INFO] [stdout] test identity::tests::from_keypair_derives_correct_peer_id ... ok
[INFO] [stdout] test identity::tests::generate_produces_valid_identity ... ok
[INFO] [stdout] test identity::peer_id::tests::from_str_rejects_wrong_length ... ok
[INFO] [stdout] test identity::tests::public_key_accessor ... ok
[INFO] [stdout] test identity::tests::two_identities_have_different_peer_ids ... ok
[INFO] [stdout] test identity::trust_store::tests::add_and_get_peer ... ok
[INFO] [stdout] test identity::trust_store::tests::add_duplicate_peer_fails ... ok
[INFO] [stdout] test identity::trust_store::tests::get_peer_nonexistent_returns_none ... ok
[INFO] [stdout] test identity::trust_store::tests::is_paired_check ... ok
[INFO] [stdout] test identity::trust_store::tests::len_and_is_empty ... ok
[INFO] [stdout] test identity::trust_store::tests::list_peers_returns_all ... ok
[INFO] [stdout] test identity::trust_store::tests::paired_peer_info_fields ... ok
[INFO] [stdout] test identity::trust_store::tests::remove_existing_peer ... ok
[INFO] [stdout] test identity::trust_store::tests::remove_nonexistent_peer_returns_false ... ok
[INFO] [stdout] test identity::tests::sign_and_verify ... ok
[INFO] [stdout] test discovery::rendezvous::tests::derive_rendezvous_id_different_secrets_differ ... ok
[INFO] [stdout] test identity::trust_store::tests::trust_store_is_send_sync ... ok
[INFO] [stdout] test mesh::relay::tests::test_close_session ... ok
[INFO] [stdout] test mesh::relay::tests::test_is_willing ... ok
[INFO] [stdout] test mesh::relay::tests::test_capacity_restored_after_close ... ok
[INFO] [stdout] test mesh::relay::tests::test_relay_capacity_enforced ... ok
[INFO] [stdout] test mesh::relay::tests::test_close_nonexistent_session ... ok
[INFO] [stdout] test mesh::relay::tests::test_relay_quota_allows_within_limit ... ok
[INFO] [stdout] test mesh::relay::tests::test_relay_request_mesh_disabled ... ok
[INFO] [stdout] test mesh::relay::tests::test_relay_quota_rejects_at_limit ... ok
[INFO] [stdout] test mesh::relay::tests::test_relay_no_quota_allows_up_to_capacity ... ok
[INFO] [stdout] test identity::tests::verify_wrong_message_fails ... ok
[INFO] [stdout] test mesh::relay::tests::test_relay_request_success ... ok
[INFO] [stdout] test mesh::relay::tests::test_relay_same_source_and_dest_rejected ... ok
[INFO] [stdout] test mesh::relay::tests::test_relay_request_not_willing ... ok
[INFO] [stdout] test mesh::relay::tests::test_session_details ... ok
[INFO] [stdout] test mesh::relay::tests::test_unique_session_ids ... ok
[INFO] [stdout] test mesh::relay::tests::test_remaining_capacity ... ok
[INFO] [stdout] test mesh::relay::tests::test_relay_unlimited_quota_allows_all ... ok
[INFO] [stdout] test mesh::routing::tests::test_apply_topology_update ... ok
[INFO] [stdout] test mesh::routing::tests::test_destinations ... ok
[INFO] [stdout] test mesh::routing::tests::test_peer_and_route_counts ... ok
[INFO] [stdout] test mesh::routing::tests::test_route_direct ... ok
[INFO] [stdout] test mesh::routing::tests::test_remove_routes ... ok
[INFO] [stdout] test mesh::routing::tests::test_apply_topology_update_exceeding_max_hops_skipped ... ok
[INFO] [stdout] test mesh::routing::tests::test_route_selection_prefers_higher_bandwidth_at_same_hops_and_latency ... ok
[INFO] [stdout] test mesh::routing::tests::test_route_selection_prefers_fewer_hops ... ok
[INFO] [stdout] test mesh::routing::tests::test_route_selection_prefers_lower_latency_at_same_hops ... ok
[INFO] [stdout] test mesh::routing::tests::test_routing_table_add_and_select ... ok
[INFO] [stdout] test mesh::routing::tests::test_routing_table_max_hops_enforced ... ok
[INFO] [stdout] test mesh::routing::tests::test_route_relayed ... ok
[INFO] [stdout] test mesh::tests::test_default_config ... ok
[INFO] [stdout] test mesh::tests::test_server_mode_config ... ok
[INFO] [stdout] test mesh::routing::tests::test_no_route_error ... ok
[INFO] [stdout] test mesh::tests::test_mesh_error_display ... ok
[INFO] [stdout] test pairing::mechanisms::adapter::tests::failing_adapter_consume ... ok
[INFO] [stdout] test pairing::mechanisms::adapter::tests::failing_adapter_derive_pake ... ok
[INFO] [stdout] test mesh::tests::test_config_serde_roundtrip ... ok
[INFO] [stdout] test pairing::mechanisms::adapter::tests::failing_adapter_generate ... ok
[INFO] [stdout] test pairing::mechanisms::adapter::tests::mechanism_name ... ok
[INFO] [stdout] test pairing::mechanisms::adapter::tests::pairing_payload_debug ... ok
[INFO] [stdout] test pairing::mechanisms::adapter::tests::passthrough_derive_pake_input ... ok
[INFO] [stdout] test pairing::mechanisms::adapter::tests::passthrough_generate_and_consume ... ok
[INFO] [stdout] test pairing::mechanisms::adapter::tests::error_display ... ok
[INFO] [stdout] test pairing::mechanisms::link::tests::link_custom_scheme ... ok
[INFO] [stdout] test pairing::mechanisms::link::tests::link_custom_scheme_rejects_default ... ok
[INFO] [stdout] test pairing::mechanisms::link::tests::link_generate_and_consume_roundtrip ... ok
[INFO] [stdout] test pairing::mechanisms::link::tests::link_mechanism_type_is_initiation ... ok
[INFO] [stdout] test pairing::mechanisms::link::tests::link_rejects_expired_payload ... ok
[INFO] [stdout] test pairing::mechanisms::link::tests::link_rejects_missing_nonce ... ok
[INFO] [stdout] test pairing::mechanisms::link::tests::link_rejects_missing_pake ... ok
[INFO] [stdout] test pairing::mechanisms::link::tests::link_hints_encode_decode_roundtrip ... ok
[INFO] [stdout] test pairing::mechanisms::link::tests::link_rejects_invalid_utf8 ... ok
[INFO] [stdout] test pairing::mechanisms::link::tests::link_rejects_missing_pid ... ok
[INFO] [stdout] test pairing::mechanisms::link::tests::link_roundtrip_without_hints ... ok
[INFO] [stdout] test pairing::mechanisms::pin::tests::crockford_known_values ... ok
[INFO] [stdout] test pairing::mechanisms::pin::tests::crockford_encode_decode_roundtrip ... ok
[INFO] [stdout] test pairing::mechanisms::pin::tests::normalize_pin_case_insensitive ... ok
[INFO] [stdout] test pairing::mechanisms::adapter::tests::adapter_is_send_sync ... ok
[INFO] [stdout] test pairing::mechanisms::pin::tests::normalize_pin_substitutions ... ok
[INFO] [stdout] test pairing::mechanisms::pin::tests::pin_40_bits_entropy ... ok
[INFO] [stdout] test pairing::mechanisms::pin::tests::pin_consume_handles_case_insensitive_input ... ok
[INFO] [stdout] test pairing::mechanisms::pin::tests::pin_consume_rejects_invalid_chars ... ok
[INFO] [stdout] test pairing::mechanisms::pin::tests::pin_consume_rejects_wrong_length ... ok
[INFO] [stdout] test pairing::mechanisms::pin::tests::pin_consume_validates_crockford ... ok
[INFO] [stdout] test pairing::mechanisms::pin::tests::pin_custom_ttl ... ok
[INFO] [stdout] test pairing::mechanisms::pin::tests::pin_generate_payload_returns_formatted_pin ... ok
[INFO] [stdout] test pairing::mechanisms::pin::tests::pin_generation_format ... ok
[INFO] [stdout] test pairing::mechanisms::pin::tests::pin_generation_only_crockford_chars ... ok
[INFO] [stdout] test pairing::mechanisms::pin::tests::pin_mechanism_type_is_initiation ... ok
[INFO] [stdout] test pairing::mechanisms::pin::tests::normalize_pin_removes_u ... ok
[INFO] [stdout] test pairing::mechanisms::pin::tests::normalize_pin_strips_separators ... ok
[INFO] [stdout] test pairing::mechanisms::link::tests::link_rejects_wrong_scheme ... ok
[INFO] [stdout] test pairing::mechanisms::psk::tests::custom_min_entropy ... ok
[INFO] [stdout] test pairing::mechanisms::pin::tests::rendezvous_id_derivation ... ok
[INFO] [stdout] test pairing::mechanisms::psk::tests::default_matches_new ... ok
[INFO] [stdout] test pairing::mechanisms::psk::tests::crockford_base32_26_chars_pass_validation ... ok
[INFO] [stdout] test pairing::mechanisms::psk::tests::derive_rendezvous_id_is_deterministic ... ok
[INFO] [stdout] test pairing::mechanisms::psk::tests::derive_rendezvous_id_rejects_insufficient_entropy ... ok
[INFO] [stdout] test pairing::mechanisms::psk::tests::pake_input_rejects_short_key ... ok
[INFO] [stdout] test pairing::mechanisms::psk::tests::pake_input_returns_raw_psk ... ok
[INFO] [stdout] test pairing::mechanisms::psk::tests::error_display ... ok
[INFO] [stdout] test pairing::mechanisms::psk::tests::derive_rendezvous_id_differs_for_different_keys ... ok
[INFO] [stdout] test pairing::mechanisms::psk::tests::new_uses_default_entropy ... ok
[INFO] [stdout] test pairing::mechanisms::psk::tests::validate_entropy_rejects_empty_key ... ok
[INFO] [stdout] test pairing::mechanisms::psk::tests::validate_entropy_accepts_sufficient_key ... ok
[INFO] [stdout] test pairing::mechanisms::psk::tests::validate_entropy_rejects_short_key ... ok
[INFO] [stdout] test pairing::mechanisms::psk::tests::validate_entropy_accepts_longer_key ... ok
[INFO] [stdout] test pairing::mechanisms::qr::tests::qr_custom_ttl ... ok
[INFO] [stdout] test pairing::mechanisms::qr::tests::qr_generate_and_consume_roundtrip ... ok
[INFO] [stdout] test pairing::mechanisms::qr::tests::qr_mechanism_type_is_initiation ... ok
[INFO] [stdout] test pairing::mechanisms::qr::tests::qr_rejects_oversized_payload ... ok
[INFO] [stdout] test pairing::mechanisms::qr::tests::qr_typical_payload_fits ... ok
[INFO] [stdout] test pairing::mechanisms::tests::cbor_rejects_non_map ... ok
[INFO] [stdout] test pairing::mechanisms::tests::cbor_rejects_invalid_data ... ok
[INFO] [stdout] test pairing::mechanisms::tests::cbor_roundtrip_without_hints ... ok
[INFO] [stdout] test pairing::mechanisms::qr::tests::qr_rejects_expired_payload ... ok
[INFO] [stdout] test pairing::mechanisms::tests::cbor_roundtrip ... ok
[INFO] [stdout] test pairing::mechanisms::tests::emoji_sas_produces_4_emojis ... ok
[INFO] [stdout] test pairing::mechanisms::tests::emoji_sas_is_deterministic ... ok
[INFO] [stdout] test pairing::mechanisms::tests::numeric_sas_differs_for_different_transcripts ... ok
[INFO] [stdout] test pairing::mechanisms::tests::numeric_sas_is_deterministic ... ok
[INFO] [stdout] test pairing::mechanisms::tests::emoji_sas_differs_for_different_transcripts ... ok
[INFO] [stdout] test pairing::mechanisms::tests::payload_expiry_check ... ok
[INFO] [stdout] test pairing::messages::tests::all_reject_reasons_display ... ok
[INFO] [stdout] test pairing::messages::tests::pair_challenge_cbor_roundtrip ... ok
[INFO] [stdout] test pairing::messages::tests::pair_confirm_cbor_roundtrip ... ok
[INFO] [stdout] test pairing::mechanisms::tests::numeric_sas_produces_6_digits ... ok
[INFO] [stdout] test pairing::messages::tests::pair_reject_cbor_roundtrip ... ok
[INFO] [stdout] test pairing::messages::tests::pair_response_cbor_roundtrip ... ok
[INFO] [stdout] test pairing::messages::tests::pair_revoke_cbor_roundtrip ... ok
[INFO] [stdout] test pairing::messages::tests::standard_flow_request_has_no_pake_msg ... ok
[INFO] [stdout] test pairing::messages::tests::type_codes_match_constants ... ok
[INFO] [stdout] test pairing::messages::tests::pair_request_cbor_roundtrip ... ok
[INFO] [stdout] test pairing::messages::tests::unknown_type_code_rejected ... ok
[INFO] [stdout] test pairing::rate_limit::tests::auto_invalidation_after_max_failures ... ok
[INFO] [stdout] test pairing::rate_limit::tests::custom_config ... ok
[INFO] [stdout] test pairing::rate_limit::tests::different_sources_have_independent_windows ... ok
[INFO] [stdout] test pairing::rate_limit::tests::error_display ... ok
[INFO] [stdout] test pairing::rate_limit::tests::first_attempt_allowed_with_zero_delay ... ok
[INFO] [stdout] test pairing::rate_limit::tests::five_attempts_allowed_within_window ... ok
[INFO] [stdout] test pairing::rate_limit::tests::new_creates_clean_state ... ok
[INFO] [stdout] test pairing::rate_limit::tests::progressive_delay_increases_with_failures ... ok
[INFO] [stdout] test pairing::rate_limit::tests::record_success_on_unknown_source_is_noop ... ok
[INFO] [stdout] test pairing::rate_limit::tests::custom_delay_per_failure ... ok
[INFO] [stdout] test pairing::rate_limit::tests::default_matches_new ... ok
[INFO] [stdout] test pairing::rate_limit::tests::record_success_resets_source_delay ... ok
[INFO] [stdout] test pairing::rate_limit::tests::reset_clears_all_state ... ok
[INFO] [stdout] test pairing::rate_limit::tests::success_does_not_reduce_total_failures ... ok
[INFO] [stdout] test pairing::rate_limit::tests::total_failures_across_sources ... ok
[INFO] [stdout] test pairing::state_machine::tests::constant_time_eq_works ... ok
[INFO] [stdout] test pairing::state_machine::tests::debug_does_not_leak_shared_key ... ok
[INFO] [stdout] test pairing::rate_limit::tests::sixth_attempt_rejected_within_window ... ok
[INFO] [stdout] test pairing::state_machine::tests::expired_session_rejects_messages ... ok
[INFO] [stdout] test pairing::state_machine::tests::initiator_rejects_pair_request ... ok
[INFO] [stdout] test pairing::state_machine::tests::key_confirmation_differs_by_key ... ok
[INFO] [stdout] test pairing::state_machine::tests::key_confirmation_differs_by_label ... ok
[INFO] [stdout] test pairing::state_machine::tests::key_confirmation_is_deterministic ... ok
[INFO] [stdout] test pairing::state_machine::tests::non_expired_session_is_not_expired ... ok
[INFO] [stdout] test pairing::state_machine::tests::nonces_are_unique ... ok
[INFO] [stdout] test pairing::state_machine::tests::pairing_error_display ... ok
[INFO] [stdout] test pairing::state_machine::tests::reject_transitions_to_failed ... ok
[INFO] [stdout] test pairing::state_machine::tests::initiation_flow_initiator_creates_request ... ok
[INFO] [stdout] test pairing::state_machine::tests::responder_rejects_challenge ... ok
[INFO] [stdout] test pairing::state_machine::tests::session_key_derivation_is_deterministic ... ok
[INFO] [stdout] test pairing::state_machine::tests::shared_key_not_available_before_completion ... ok
[INFO] [stdout] test pairing::state_machine::tests::standard_flow_initiator_creates_request ... ok
[INFO] [stdout] test pairing::state_machine::tests::standard_flow_key_confirmation_exchange ... ok
[INFO] [stdout] test pairing::state_machine::tests::standard_flow_responder_handles_request ... ok
[INFO] [stdout] test pairing::state_machine::tests::wrong_key_confirmation_fails ... ok
[INFO] [stdout] test pairing::unpairing::tests::error_display ... ok
[INFO] [stdout] test pairing::unpairing::tests::handle_pair_revoke_does_not_affect_other_peers ... ok
[INFO] [stdout] test pairing::unpairing::tests::handle_pair_revoke_for_unknown_peer_succeeds ... ok
[INFO] [stdout] test pairing::mechanisms::qr::tests::qr_code_generation_works ... ok
[INFO] [stdout] test pairing::unpairing::tests::handle_pair_revoke_removes_peer ... ok
[INFO] [stdout] test pairing::unpairing::tests::unpair_does_not_affect_other_peers ... ok
[INFO] [stdout] test pairing::unpairing::tests::unpair_removes_peer_from_trust_store ... ok
[INFO] [stdout] test pairing::unpairing::tests::unpair_unknown_peer_returns_error ... ok
[INFO] [stdout] test pairing::unpairing::tests::unpairing_event_debug ... ok
[INFO] [stdout] test protocol::envelope::tests::test_decode_invalid_cbor ... ok
[INFO] [stdout] test protocol::envelope::tests::test_deterministic_encoding_is_stable ... ok
[INFO] [stdout] test protocol::envelope::tests::test_new_msg_id_is_16_bytes ... ok
[INFO] [stdout] test protocol::envelope::tests::test_optional_fields_absent ... ok
[INFO] [stdout] test protocol::envelope::tests::test_roundtrip_full_envelope ... ok
[INFO] [stdout] test protocol::envelope::tests::test_new_msg_id_unique ... ok
[INFO] [stdout] test protocol::envelope::tests::test_roundtrip_minimal_envelope ... ok
[INFO] [stdout] test protocol::envelope::tests::test_version_field_preserved ... ok
[INFO] [stdout] test protocol::message_types::tests::test_message_category ... ok
[INFO] [stdout] test protocol::version::tests::create_version_negotiate_envelope ... ok
[INFO] [stdout] test protocol::version::tests::current_protocol_version_is_1 ... ok
[INFO] [stdout] test protocol::version::tests::handle_version_negotiate_compatible ... ok
[INFO] [stdout] test protocol::version::tests::handle_version_negotiate_incompatible ... ok
[INFO] [stdout] test protocol::version::tests::parse_version_negotiate_wrong_type ... ok
[INFO] [stdout] test protocol::version::tests::payload_cbor_roundtrip ... ok
[INFO] [stdout] test protocol::version::tests::select_version_common_version ... ok
[INFO] [stdout] test protocol::version::tests::select_version_empty_ours ... ok
[INFO] [stdout] test protocol::version::tests::select_version_empty_peer ... ok
[INFO] [stdout] test protocol::version::tests::select_version_exact_match ... ok
[INFO] [stdout] test protocol::version::tests::select_version_no_common ... ok
[INFO] [stdout] test protocol::version::tests::select_version_picks_highest_mutual ... ok
[INFO] [stdout] test protocol::version::tests::supported_versions_contains_current ... ok
[INFO] [stdout] test protocol::version::tests::supported_versions_highest_first ... ok
[INFO] [stdout] test protocol::version::tests::version_mismatch_display ... ok
[INFO] [stdout] test protocol::version::tests::version_negotiate_envelope_wire_roundtrip ... ok
[INFO] [stdout] test server::headless::tests::custom_validity_window ... ok
[INFO] [stdout] test server::headless::tests::error_display_expired ... ok
[INFO] [stdout] test server::headless::tests::error_display_mechanism ... ok
[INFO] [stdout] test server::headless::tests::error_display_png_encoding_failed ... ok
[INFO] [stdout] test server::headless::tests::error_display_psk_not_configured ... ok
[INFO] [stdout] test server::headless::tests::error_display_qr_generation_failed ... ok
[INFO] [stdout] test server::headless::tests::from_psk_creates_psk_variant ... ok
[INFO] [stdout] test server::headless::tests::generate_link_returns_cairn_uri ... ok
[INFO] [stdout] test protocol::version::tests::full_negotiation_roundtrip ... ok
[INFO] [stdout] test server::headless::tests::generate_psk_env_var_not_set ... ok
[INFO] [stdout] test server::headless::tests::generate_psk_from_env_var ... ok
[INFO] [stdout] test server::headless::tests::generate_pin_returns_formatted_pin ... ok
[INFO] [stdout] test server::headless::tests::generate_psk_with_valid_key ... ok
[INFO] [stdout] test server::headless::tests::generate_psk_rejects_short_key ... ok
[INFO] [stdout] test server::headless::tests::headless_pairing_default_validity ... ok
[INFO] [stdout] test server::headless::tests::link_not_expired_immediately ... ok
[INFO] [stdout] test server::headless::tests::new_and_with_validity_window_equivalent ... ok
[INFO] [stdout] test server::headless::tests::peer_metrics_accounting ... ok
[INFO] [stdout] test server::headless::tests::peer_metrics_new_is_zeroed ... ok
[INFO] [stdout] test server::headless::tests::peer_metrics_release_stored ... ok
[INFO] [stdout] test server::headless::tests::peer_metrics_serde_roundtrip ... ok
[INFO] [stdout] test server::headless::tests::peer_quota_default_disabled ... ok
[INFO] [stdout] test server::headless::tests::peer_sync_serde_roundtrip ... ok
[INFO] [stdout] test server::headless::tests::peer_sync_state_add_pending_and_acknowledge ... ok
[INFO] [stdout] test server::headless::tests::peer_sync_state_advance_does_not_go_backwards ... ok
[INFO] [stdout] test server::headless::tests::peer_sync_state_enqueue_saturates ... ok
[INFO] [stdout] test server::headless::tests::peer_sync_state_lifecycle ... ok
[INFO] [stdout] test server::headless::tests::peer_sync_state_new_is_zeroed ... ok
[INFO] [stdout] test server::headless::tests::peer_sync_state_pending_saturates ... ok
[INFO] [stdout] test server::headless::tests::pin_not_expired_immediately ... ok
[INFO] [stdout] test server::headless::tests::psk_never_expires ... ok
[INFO] [stdout] test pairing::state_machine::tests::spake2_wrong_password_produces_different_keys ... ok
[INFO] [stdout] test server::headless::tests::generate_qr_returns_ascii_and_png ... ok
[INFO] [stdout] test pairing::state_machine::tests::initiation_flow_full_exchange ... ok
[INFO] [stdout] test server::headless::tests::quota_check_relay_within_limit ... ok
[INFO] [stdout] test server::headless::tests::qr_not_expired_immediately ... ok
[INFO] [stdout] test server::headless::tests::qr_png_has_reasonable_size ... ok
[INFO] [stdout] test server::headless::tests::quota_serde_roundtrip ... ok
[INFO] [stdout] test server::headless::tests::relay_allows_all_peers_when_list_empty ... ok
[INFO] [stdout] test server::headless::tests::quota_check_store_within_limit ... ok
[INFO] [stdout] test server::headless::tests::relay_config_serde_roundtrip ... ok
[INFO] [stdout] test server::headless::tests::relay_restricts_to_allowed_peers ... ok
[INFO] [stdout] test server::headless::tests::sas_not_available_in_headless_mode ... ok
[INFO] [stdout] test server::headless::tests::supported_mechanisms_list ... ok
[INFO] [stdout] test server::headless::tests::quota_check_store_unlimited ... ok
[INFO] [stdout] test server::headless::tests::relay_config_defaults ... ok
[INFO] [stdout] test server::headless::tests::validate_payload_accepts_valid ... ok
[INFO] [stdout] test server::management::tests::auth_rejects_malformed_header ... ok
[INFO] [stdout] test server::headless::tests::validate_payload_rejects_expired ... ok
[INFO] [stdout] test server::management::tests::auth_accepts_correct_token ... ok
[INFO] [stdout] test server::management::tests::auth_rejects_missing_token ... ok
[INFO] [stdout] test server::management::tests::config_defaults ... ok
[INFO] [stdout] test server::management::tests::auth_rejects_wrong_token ... ok
[INFO] [stdout] test server::management::tests::config_serde_roundtrip ... ok
[INFO] [stdout] test server::management::tests::health_endpoint_returns_json ... ok
[INFO] [stdout] test server::management::tests::health_reports_degraded_with_no_peers ... ok
[INFO] [stdout] test server::management::tests::health_reports_healthy_with_connected_peer ... ok
[INFO] [stdout] test server::management::tests::management_server_router_responds ... ok
[INFO] [stdout] test server::management::tests::non_loopback_detection ... ok
[INFO] [stdout] test server::management::tests::pairing_qr_returns_service_unavailable_without_identity ... ok
[INFO] [stdout] test server::management::tests::peers_endpoint_returns_empty_list ... ok
[INFO] [stdout] test server::management::tests::peers_endpoint_returns_peer_list ... ok
[INFO] [stdout] test server::management::tests::queues_endpoint_returns_empty ... ok
[INFO] [stdout] test server::management::tests::queues_endpoint_returns_queue_depths ... ok
[INFO] [stdout] test server::management::tests::relay_stats_endpoint_returns_defaults ... ok
[INFO] [stdout] test server::headless::tests::quota_check_relay_unlimited ... ok
[INFO] [stdout] test server::management::tests::relay_stats_endpoint_with_data ... ok
[INFO] [stdout] test server::management::tests::start_server_rejects_empty_token ... ok
[INFO] [stdout] test server::store_forward::tests::channel_name_constant ... ok
[INFO] [stdout] test server::store_forward::tests::dedup_tracker_evicts_oldest ... ok
[INFO] [stdout] test server::store_forward::tests::dedup_tracker_is_empty ... ok
[INFO] [stdout] test server::store_forward::tests::dedup_tracker_new_message ... ok
[INFO] [stdout] test server::store_forward::tests::dedup_tracker_rejects_duplicate ... ok
[INFO] [stdout] test server::store_forward::tests::default_retention_policy ... ok
[INFO] [stdout] test server::store_forward::tests::deliver_empty_queue ... ok
[INFO] [stdout] test server::store_forward::tests::deliver_returns_messages_in_order ... ok
[INFO] [stdout] test server::store_forward::tests::deliver_clears_dedup_entries ... ok
[INFO] [stdout] test server::store_forward::tests::enqueue_accepted ... ok
[INFO] [stdout] test server::store_forward::tests::enqueue_allows_sequence_gap_within_threshold ... ok
[INFO] [stdout] test server::store_forward::tests::enqueue_rejects_queue_full ... ok
[INFO] [stdout] test server::store_forward::tests::enqueue_rejects_duplicate_msg_id ... ok
[INFO] [stdout] test server::store_forward::tests::enqueue_rejects_unpaired_recipient ... ok
[INFO] [stdout] test server::store_forward::tests::enqueue_rejects_unpaired_sender ... ok
[INFO] [stdout] test server::store_forward::tests::enqueue_with_none_quota_allows_unlimited ... ok
[INFO] [stdout] test server::management::tests::auth_rejects_wrong_length_token ... ok
[INFO] [stdout] test server::store_forward::tests::enqueue_rejects_sequence_gap_exceeding_threshold ... ok
[INFO] [stdout] test server::store_forward::tests::enqueue_with_quota_allows_within_limit ... ok
[INFO] [stdout] test server::store_forward::tests::enqueue_with_quota_rejects_at_limit ... ok
[INFO] [stdout] test server::store_forward::tests::enqueue_with_unlimited_quota_allows_all ... ok
[INFO] [stdout] test server::store_forward::tests::forward_ack_accepted ... ok
[INFO] [stdout] test server::store_forward::tests::forward_deliver_fields ... ok
[INFO] [stdout] test server::store_forward::tests::forward_purge_fields ... ok
[INFO] [stdout] test server::store_forward::tests::expired_messages_pruned_on_enqueue ... ok
[INFO] [stdout] test server::store_forward::tests::max_skip_threshold_is_1000 ... ok
[INFO] [stdout] test server::store_forward::tests::forward_request_fields ... ok
[INFO] [stdout] test server::store_forward::tests::forward_ack_rejected ... ok
[INFO] [stdout] test server::tests::retention_policy_from_server_config ... ok
[INFO] [stdout] test server::tests::server_config_custom ... ok
[INFO] [stdout] test server::store_forward::tests::per_peer_override ... ok
[INFO] [stdout] test server::store_forward::tests::total_messages_across_peers ... ok
[INFO] [stdout] test server::tests::server_config_serde_roundtrip ... ok
[INFO] [stdout] test session::channel::tests::test_channel_accept ... ok
[INFO] [stdout] test session::channel::tests::test_channel_accept_after_reject_rejected ... ok
[INFO] [stdout] test server::tests::server_config_defaults ... ok
[INFO] [stdout] test session::channel::tests::test_channel_close_from_opening ... ok
[INFO] [stdout] test session::channel::tests::test_channel_double_accept_rejected ... ok
[INFO] [stdout] test session::channel::tests::test_channel_double_close_rejected ... ok
[INFO] [stdout] test session::channel::tests::test_channel_init_decode_invalid ... ok
[INFO] [stdout] test session::channel::tests::test_channel_init_roundtrip ... ok
[INFO] [stdout] test session::channel::tests::test_channel_init_with_metadata_roundtrip ... ok
[INFO] [stdout] test session::channel::tests::test_channel_manager_accept ... ok
[INFO] [stdout] test session::channel::tests::test_channel_manager_close ... ok
[INFO] [stdout] test session::channel::tests::test_channel_manager_data_on_non_open_rejected ... ok
[INFO] [stdout] test session::channel::tests::test_channel_close_from_open ... ok
[INFO] [stdout] test session::channel::tests::test_channel_manager_data_on_unknown_stream_rejected ... ok
[INFO] [stdout] test session::channel::tests::test_channel_manager_multiple_channels ... ok
[INFO] [stdout] test session::channel::tests::test_channel_manager_open ... ok
[INFO] [stdout] test session::channel::tests::test_channel_manager_open_duplicate_stream_rejected ... ok
[INFO] [stdout] test session::channel::tests::test_channel_manager_open_reserved_rejected ... ok
[INFO] [stdout] test session::channel::tests::test_channel_manager_open_with_metadata ... ok
[INFO] [stdout] test session::channel::tests::test_channel_manager_reject ... ok
[INFO] [stdout] test session::channel::tests::test_channel_new_is_opening ... ok
[INFO] [stdout] test session::channel::tests::test_channel_reject ... ok
[INFO] [stdout] test session::channel::tests::test_channel_with_metadata ... ok
[INFO] [stdout] test session::channel::tests::test_data_ack ... ok
[INFO] [stdout] test session::channel::tests::test_data_message_new ... ok
[INFO] [stdout] test session::channel::tests::test_data_message_unique_ids ... ok
[INFO] [stdout] test session::channel::tests::test_data_nack ... ok
[INFO] [stdout] test session::channel::tests::test_channel_manager_data_on_open_channel ... ok
[INFO] [stdout] test session::channel::tests::test_channel_manager_handle_init ... ok
[INFO] [stdout] test session::channel::tests::test_data_nack_no_reason ... ok
[INFO] [stdout] test session::channel::tests::test_validate_channel_name_empty_rejected ... ok
[INFO] [stdout] test session::channel::tests::test_validate_channel_name_reserved_prefix_rejected ... ok
[INFO] [stdout] test session::channel::tests::test_validate_channel_name_valid ... ok
[INFO] [stdout] test session::heartbeat::tests::test_aggressive_config ... ok
[INFO] [stdout] test session::heartbeat::tests::test_config_accessible ... ok
[INFO] [stdout] test session::heartbeat::tests::test_config_serde_roundtrip ... ok
[INFO] [stdout] test session::heartbeat::tests::test_default_config ... ok
[INFO] [stdout] test session::heartbeat::tests::test_last_activity_accessible ... ok
[INFO] [stdout] test session::heartbeat::tests::test_monitor_not_needing_heartbeat_initially ... ok
[INFO] [stdout] test session::heartbeat::tests::test_monitor_not_timed_out_initially ... ok
[INFO] [stdout] test session::heartbeat::tests::test_monitor_should_send_with_zero_interval ... ok
[INFO] [stdout] test session::heartbeat::tests::test_monitor_time_until_heartbeat_positive_initially ... ok
[INFO] [stdout] test session::heartbeat::tests::test_monitor_time_until_timeout_positive_initially ... ok
[INFO] [stdout] test session::heartbeat::tests::test_monitor_timed_out_with_zero_timeout ... ok
[INFO] [stdout] test session::heartbeat::tests::test_record_activity_resets_timeout ... ok
[INFO] [stdout] test session::heartbeat::tests::test_record_heartbeat_sent ... ok
[INFO] [stdout] test session::heartbeat::tests::test_relaxed_config ... ok
[INFO] [stdout] test session::heartbeat::tests::test_timeout_is_3x_interval_for_all_presets ... ok
[INFO] [stdout] test session::queue::tests::test_clear_discards_all ... ok
[INFO] [stdout] test session::queue::tests::test_config_serde_roundtrip ... ok
[INFO] [stdout] test session::queue::tests::test_default_config ... ok
[INFO] [stdout] test session::queue::tests::test_drain_returns_in_order ... ok
[INFO] [stdout] test session::channel::tests::test_reserved_constants ... ok
[INFO] [stdout] test session::queue::tests::test_enqueue_disabled ... ok
[INFO] [stdout] test session::queue::tests::test_enqueue_multiple ... ok
[INFO] [stdout] test session::queue::tests::test_enqueue_success ... ok
[INFO] [stdout] test session::queue::tests::test_expire_stale_with_zero_max_age ... ok
[INFO] [stdout] test session::queue::tests::test_fifo_rejects_when_full ... ok
[INFO] [stdout] test session::queue::tests::test_lifo_evicts_oldest_when_full ... ok
[INFO] [stdout] test session::queue::tests::test_lifo_multiple_evictions ... ok
[INFO] [stdout] test session::queue::tests::test_messages_maintain_insertion_order ... ok
[INFO] [stdout] test session::queue::tests::test_payload_preserved ... ok
[INFO] [stdout] test session::queue::tests::test_peek ... ok
[INFO] [stdout] test session::queue::tests::test_queue_starts_empty ... ok
[INFO] [stdout] test session::queue::tests::test_queue_strategy_display ... ok
[INFO] [stdout] test session::queue::tests::test_remaining_capacity_decreases ... ok
[INFO] [stdout] test session::reconnection::tests::test_backoff_config_serde_roundtrip ... ok
[INFO] [stdout] test session::reconnection::tests::test_backoff_custom_config ... ok
[INFO] [stdout] test session::reconnection::tests::test_backoff_default ... ok
[INFO] [stdout] test session::reconnection::tests::test_backoff_max_delay_cap ... ok
[INFO] [stdout] test session::reconnection::tests::test_backoff_reset ... ok
[INFO] [stdout] test session::reconnection::tests::test_backoff_sequence ... ok
[INFO] [stdout] test session::reconnection::tests::test_challenge_proof_construction ... ok
[INFO] [stdout] test session::reconnection::tests::test_network_change_display ... ok
[INFO] [stdout] test session::reconnection::tests::test_network_monitor_multiple_events ... ok
[INFO] [stdout] test session::reconnection::tests::test_network_monitor_send_receive ... ok
[INFO] [stdout] test session::reconnection::tests::test_network_monitor_sender_clone ... ok
[INFO] [stdout] test session::reconnection::tests::test_rejection_reason_display ... ok
[INFO] [stdout] test session::reconnection::tests::test_resumption_accepted ... ok
[INFO] [stdout] test session::reconnection::tests::test_resumption_rejected ... ok
[INFO] [stdout] test session::state_machine::tests::test_event_emitted_on_transition ... ok
[INFO] [stdout] test session::reconnection::tests::test_resumption_request_construction ... ok
[INFO] [stdout] test session::state_machine::tests::test_full_reconnection_cycle ... ok
[INFO] [stdout] test session::state_machine::tests::test_initial_state ... ok
[INFO] [stdout] test session::state_machine::tests::test_invalid_transition_connected_to_failed ... ok
[INFO] [stdout] test session::state_machine::tests::test_invalid_transition_failed_to_connected ... ok
[INFO] [stdout] test session::state_machine::tests::test_invalid_transition_reconnected_to_failed ... ok
[INFO] [stdout] test session::state_machine::tests::test_is_valid_transition_exhaustive ... ok
[INFO] [stdout] test session::state_machine::tests::test_multiple_events_emitted ... ok
[INFO] [stdout] test session::state_machine::tests::test_self_transition_rejected ... ok
[INFO] [stdout] test session::state_machine::tests::test_subscribe_receives_events ... ok
[INFO] [stdout] test session::state_machine::tests::test_suspended_retry_cycle ... ok
[INFO] [stdout] test session::state_machine::tests::test_valid_transition_connected_to_disconnected ... ok
[INFO] [stdout] test session::state_machine::tests::test_valid_transition_connected_to_unstable ... ok
[INFO] [stdout] test session::state_machine::tests::test_valid_transition_disconnected_to_reconnecting ... ok
[INFO] [stdout] test session::state_machine::tests::test_valid_transition_reconnected_to_connected ... ok
[INFO] [stdout] test session::state_machine::tests::test_valid_transition_reconnecting_to_reconnected ... ok
[INFO] [stdout] test session::state_machine::tests::test_valid_transition_reconnecting_to_suspended ... ok
[INFO] [stdout] test session::state_machine::tests::test_valid_transition_suspended_to_failed ... ok
[INFO] [stdout] test session::state_machine::tests::test_valid_transition_suspended_to_reconnecting ... ok
[INFO] [stdout] test session::state_machine::tests::test_valid_transition_unstable_to_connected ... ok
[INFO] [stdout] test session::state_machine::tests::test_valid_transition_unstable_to_disconnected ... ok
[INFO] [stdout] test session::tests::test_session_advance_ratchet_epoch ... ok
[INFO] [stdout] test session::tests::test_session_event_received ... ok
[INFO] [stdout] test session::tests::test_session_expired_with_zero_duration ... ok
[INFO] [stdout] test session::tests::test_session_full_lifecycle ... ok
[INFO] [stdout] test session::tests::test_session_id_bytes_roundtrip ... ok
[INFO] [stdout] test session::tests::test_session_id_default ... ok
[INFO] [stdout] test session::tests::test_session_id_display ... ok
[INFO] [stdout] test session::tests::test_session_id_hash ... ok
[INFO] [stdout] test session::tests::test_session_id_unique ... ok
[INFO] [stdout] test session::tests::test_session_invalid_transition ... ok
[INFO] [stdout] test session::tests::test_session_new_starts_connected ... ok
[INFO] [stdout] test session::tests::test_session_next_sequence_tx ... ok
[INFO] [stdout] test session::tests::test_session_not_expired_immediately ... ok
[INFO] [stdout] test session::tests::test_session_state_display ... ok
[INFO] [stdout] test session::tests::test_session_subscribe_additional_receiver ... ok
[INFO] [stdout] test session::tests::test_session_transition ... ok
[INFO] [stdout] test session::tests::test_session_with_custom_expiry ... ok
[INFO] [stdout] test transport::fallback::tests::connection_quality_defaults ... ok
[INFO] [stdout] test transport::fallback::tests::degradation_reason_display ... ok
[INFO] [stdout] test transport::fallback::tests::full_chain_with_turn_and_relay ... ok
[INFO] [stdout] test transport::fallback::tests::migrator_emits_migration_event ... ok
[INFO] [stdout] test transport::fallback::tests::migrator_probes_better_transports ... ok
[INFO] [stdout] test transport::fallback::tests::migrator_quic_has_nothing_better ... ok
[INFO] [stdout] test transport::fallback::tests::migrator_rejects_worse_transport ... ok
[INFO] [stdout] test session::state_machine::tests::test_invalid_transition_connected_to_reconnecting ... ok
[INFO] [stdout] test session::state_machine::tests::test_invalid_transition_disconnected_to_connected ... ok
[INFO] [stdout] test transport::fallback::tests::migrator_set_current_updates_probes ... ok
[INFO] [stdout] test transport::fallback::tests::monitor_detects_high_jitter ... ok
[INFO] [stdout] test transport::fallback::tests::monitor_detects_high_latency ... ok
[INFO] [stdout] test transport::fallback::tests::monitor_emits_degradation_event ... ok
[INFO] [stdout] test transport::fallback::tests::parallel_all_fail_returns_exhausted ... ok
[INFO] [stdout] test transport::fallback::tests::monitor_detects_high_packet_loss ... ok
[INFO] [stdout] test transport::fallback::tests::quality_thresholds_defaults ... ok
[INFO] [stdout] test transport::fallback::tests::sequential_all_fail_returns_exhausted ... ok
[INFO] [stdout] test transport::fallback::tests::parallel_first_success_wins ... ok
[INFO] [stdout] test transport::fallback::tests::sequential_falls_back_to_tcp ... ok
[INFO] [stdout] test transport::fallback::tests::sequential_first_transport_succeeds ... ok
[INFO] [stdout] test transport::fallback::tests::tier0_availability ... ok
[INFO] [stdout] test transport::fallback::tests::tier0_chain_has_correct_availability ... ok
[INFO] [stdout] test transport::fallback::tests::transport_display ... ok
[INFO] [stdout] test transport::fallback::tests::transport_exhausted_error_includes_details ... ok
[INFO] [stdout] test transport::fallback::tests::transport_priorities_are_sequential ... ok
[INFO] [stdout] test transport::nat::tests::classify_different_ips_is_symmetric ... ok
[INFO] [stdout] test transport::nat::tests::binding_request_format ... ok
[INFO] [stdout] test transport::nat::tests::classify_different_ports_is_symmetric ... ok
[INFO] [stdout] test transport::nat::tests::classify_empty_is_unknown ... ok
[INFO] [stdout] test transport::nat::tests::classify_single_server_is_unknown ... ok
[INFO] [stdout] test transport::nat::tests::detect_with_no_servers_returns_unknown ... ok
[INFO] [stdout] test transport::nat::tests::classify_same_mapping_is_cone ... ok
[INFO] [stdout] test transport::nat::tests::nat_type_display ... ok
[INFO] [stdout] test transport::nat::tests::parse_binding_response_rejects_short_data ... ok
[INFO] [stdout] test transport::nat::tests::network_info_default ... ok
[INFO] [stdout] test transport::nat::tests::parse_binding_response_rejects_wrong_type ... ok
[INFO] [stdout] test transport::fallback::tests::monitor_no_event_for_good_quality ... ok
[INFO] [stdout] test transport::nat::tests::parse_binding_response_rejects_wrong_txn_id ... ok
[INFO] [stdout] test transport::nat::tests::parse_binding_response_with_xor_mapped_ipv4 ... ok
[INFO] [stdout] test transport::swarm::tests::libp2p_keypair_conversion ... ok
[INFO] [stdout] test transport::swarm::tests::dial_unreachable_produces_failure ... ok
[INFO] [stdout] test transport::swarm::tests::listen_on_tcp_produces_event ... ok
[INFO] [stdout] test transport::swarm::tests::listen_on_quic_produces_event ... ok
[INFO] [stdout] test transport::swarm::tests::transport_config_defaults ... ok
[INFO] [stdout] test transport::swarm::tests::build_swarm_with_default_config ... ok
[INFO] [stdout] test transport::swarm::tests::shutdown_terminates_event_loop ... ok
[INFO] [stdout] test server::management::tests::pairing_qr_returns_png_when_configured ... ok
[INFO] [stdout] test crypto::keystore::tests::fs_retrieve_nonexistent ... ok
[INFO] [stdout] test crypto::keystore::tests::fs_large_data_roundtrip ... ok
[INFO] [stdout] test crypto::keystore::tests::fs_delete ... ok
[INFO] [stdout] test crypto::keystore::tests::fs_empty_key_id_rejected ... ok
[INFO] [stdout] test crypto::keystore::tests::fs_store_and_retrieve_chacha ... ok
[INFO] [stdout] test crypto::keystore::tests::fs_tampered_file_rejected ... ok
[INFO] [stdout] test crypto::keystore::tests::fs_empty_data_roundtrip ... ok
[INFO] [stdout] test crypto::keystore::tests::fs_overwrite ... ok
[INFO] [stdout] test crypto::keystore::tests::fs_store_and_retrieve_aes ... ok
[INFO] [stdout] test crypto::keystore::tests::fs_exists ... ok
[INFO] [stdout] test crypto::keystore::tests::fs_wrong_passphrase_rejects ... ok
[INFO] [stdout] test crypto::keystore::tests::fs_salt_persists_across_opens ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 724 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 39.42s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-c0fdb37e90bf400b)
[INFO] [stdout] 
[INFO] [stdout] running 26 tests
[INFO] [stdout] test integration::pairing::psk_mechanism_validates_entropy ... ok
[INFO] [stdout] test integration::pairing::psk_rendezvous_id_is_deterministic ... ok
[INFO] [stdout] test integration::pairing::api_node_pair_generate_link ... ok
[INFO] [stdout] test integration::pairing::pairing_scan_qr_rejects_invalid_cbor ... ok
[INFO] [stdout] test integration::pairing::psk_different_keys_produce_different_rendezvous ... ok
[INFO] [stdout] test integration::pairing::api_node_pair_generate_qr ... ok
[INFO] [stdout] test integration::pairing::pairing_enter_pin_rejects_invalid_chars ... ok
[INFO] [stdout] test integration::pairing::api_node_pair_generate_pin ... ok
[INFO] [stdout] test integration::pairing::pairing_link_generate_and_consume_roundtrip ... ok
[INFO] [stdout] test integration::pairing::pairing_from_link_rejects_invalid_uri ... ok
[INFO] [stdout] test integration::pairing::pin_code_generate_and_consume_roundtrip ... ok
[INFO] [stdout] test integration::session::store_forward_types_accessible ... ok
[INFO] [stdout] test integration::pairing::qr_code_generate_and_consume_roundtrip ... ok
[INFO] [stdout] test integration::session::network_info_returns_unknown_nat_by_default ... ok
[INFO] [stdout] test integration::session::transport_fallback_types_exist ... ok
[INFO] [stdout] test integration::session::session_close_transitions_to_disconnected ... ok
[INFO] [stdout] test integration::session::session_open_channel_and_send ... ok
[INFO] [stdout] test integration::session::send_on_closed_channel_fails ... ok
[INFO] [stdout] test integration::session::multiple_channels_on_session ... ok
[INFO] [stdout] test integration::session::custom_message_handler_rejects_invalid_range ... ok
[INFO] [stdout] test integration::session::recv_event_delivers_state_change ... ok
[INFO] [stdout] test integration::session::connect_creates_session_in_connected_state ... ok
[INFO] [stdout] test integration::session::empty_channel_name_rejected ... ok
[INFO] [stdout] test integration::session::unpair_removes_session ... ok
[INFO] [stdout] test integration::session::reserved_channel_name_rejected ... ok
[INFO] [stderr]    Doc-tests cairn_p2p
[INFO] [stdout] test integration::pairing::pairing_enter_pin_succeeds_with_valid_pin ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 26 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.18s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "1e7c9954fa21779d055f02f05951ee9ad4eee98f3ec2bbfc2d357027a0a9d3dc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1e7c9954fa21779d055f02f05951ee9ad4eee98f3ec2bbfc2d357027a0a9d3dc", kill_on_drop: false }`
[INFO] [stdout] 1e7c9954fa21779d055f02f05951ee9ad4eee98f3ec2bbfc2d357027a0a9d3dc
